package org.jetbrains.debugger;

import com.intellij.openapi.util.AsyncResult;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.debugger.values.ValueManager;

import java.util.List;

public abstract interface SuspendContext
{
  @NotNull
  public abstract SuspendState getState();
  
  @Nullable("if no frames (paused by user)")
  public abstract Script getScript();
  
  @Nullable
  public abstract ExceptionData getExceptionData();
  
  @Nullable
  public abstract CallFrame getTopFrame();
  
  @NotNull
  public abstract AsyncResult<CallFrame[]> getCallFrames();
  
  @NotNull
  public abstract List<Breakpoint> getBreakpointsHit();
  
  @NotNull
  public abstract ValueManager getValueManager();
  
  @NotNull
  public abstract Vm getVm();
}



/* Location:           E:\idea\

 * Qualified Name:     org.jetbrains.debugger.SuspendContext

 * JD-Core Version:    0.7.0.1

 */